package cn.itsource.org.mapper;

import cn.itsource.basic.AjaxResult;
import cn.itsource.org.domain.Employee;
import cn.itsource.org.query.EmployeeQuery;

import java.util.List;

/**
 * 部门mapper
 * 单表crud：
 * 1.通过id查询
 * 2.查询所有
 * 3.新增
 * 4.修改
 * 5.删除
 * 6.分页查询
 */
public interface EmployeeMapper {

    /**
     * 通过id查询部门
     * @param id
     * @return
     */
    Employee loadOne(Long id);

    /**
     * 查询所有部门数据
     * @return
     */
    List<Employee> loadAll();

    /**
     * 新增
     * @param employee
     */
    void insert(Employee employee);

    /**
     * 修改
     * @param employee
     */
    void update(Employee employee);

    /**
     * 通过id删除数据
     * @param id
     */
    void delete(Long id);

    /**
     * 查询数据总条数
     * @return
     */
    Long queryCount(EmployeeQuery employeeQuery);


    /**
     * 分页查询
     * @param employeeQuery
     * @return
     */
    List<Employee> queryData(EmployeeQuery employeeQuery);

    /**
     * 批量删除
     * @param ids
     * @return
     */
    AjaxResult patchDelete(List<Long> ids);
}
